// import {messages} from "share/common";
// import React from "react";
//
// import { connect } from 'react-redux'
// import { Button, Table, Badge, message } from 'antd'
// import config from 'config'
// import menuRoute from 'routes/menuRoute'
//
// import contractService from 'containers/receipt-type-setting/contract-type-define/contract-type-define.service'
// import SearchArea from 'components/search-area'
// import SlideFrame from 'components/slide-frame'
// import NewContractType from 'containers/receipt-type-setting/contract-type-define/new-contract-type'
//
// class ContractTypeDefine extends React.Component{
//   constructor(props) {
//     super(props);
//     this.state = {
//       loading: false,
//       searchForm: [
//         {type: 'select', id: 'setOfBooksId', label: '账套', options: [], defaultValue: '', event: 'setOfBooksId',
//           getUrl: this.props.main.tenantMode ? `${config.baseUrl}/api/setOfBooks/by/tenant?roleType=TENANT` : `${config.baseUrl}/api/setOfBooks/query/dto`,
//           method: 'get', labelKey: 'setOfBooksName', valueKey: this.props.main.tenantMode ? 'id' : 'setOfBooksId',
//           renderOption: data => `${data.setOfBooksName} - ${data.setOfBooksCode}`},
//         {type: 'input', id: 'contractTypeCode', label: '合同类型代码'},
//         {type: 'input', id: 'contractTypeName', label: '合同类型名称'}
//       ],
//       searchParams: {},
//       columns : [
//         {title: '合同类型代码', dataIndex: 'contractTypeCode'},
//         {title: '合同类型名称', dataIndex: 'contractTypeName'},
//         {title: '合同大类', dataIndex: 'contractCategoryName'},
//         {title: '账套', dataIndex: 'setOfBooksCode', render: (value, record) => record.setOfBooksName + '-' + value},
//         {title: '关联表单类型', dataIndex: 'formName', render: value => value || '-'},
//         {title: '状态', dataIndex: 'isEnabled',
//           render: status => <Badge status={status ? 'success' : 'error'} text={status ? '启用' : '禁用'} />},
//         {title: '操作', dataIndex: 'id', render: (id, record) => (
//           <span>
//             <a onClick={() => this.handleEdit(record)}>编辑</a>
//             <span className="ant-divider"/>
//             <a onClick={() => this.handleDistribute(record)}>公司分配</a>
//           </span>
//         )}
//       ],
//       data: [],
//       page: 0,
//       pageSize: 10,
//       pagination: {
//         total: 0
//       },
//       showSlideFrame: false,
//       slideParams: {},
//       companyDistribution:  menuRoute.getRouteItem('company-distribution','key'),    //公司分配
//     }
//   }
//
//   componentWillMount() {
//     const { company } = this.props;
//     const { searchForm, searchParams, slideParams } = this.state;
//     searchForm[0].defaultValue = company.setOfBooksId;
//     searchForm[0].options = [{
//       temp: true,
//       label: company.setOfBooksName + ' - ' + company.setOfBooksCode,
//       value: company.setOfBooksId
//     }];
//     searchParams.setOfBooksId = company.setOfBooksId;
//     slideParams.setOfBooksId = company.setOfBooksId;
//     this.setState({ searchForm, searchParams, slideParams }, () => {
//       this.getList()
//     })
//   }
//
//   getList = () => {
//     const { page, pageSize, searchParams } = this.state;
//     this.setState({ loading: true });
//     contractService.getContractTypeDefineList(page, pageSize, searchParams).then((res) => {
//       if (res.status === 200) {
//         this.setState({
//           loading: false,
//           data: res.data,
//           pagination: {
//             total: Number(res.headers['x-total-count']) ? Number(res.headers['x-total-count']) : 0,
//             current: page + 1,
//             onChange: this.onChangePaper
//           }
//         })
//       }
//     })
//   };
//
//   onChangePaper = (page) => {
//     if (page - 1 !== this.state.page) {
//       this.setState({ page: page - 1 },() => {
//         this.getList()
//       })
//     }
//   };
//
//   onSearch = (result) => {
//     if (!result.setOfBooksId) return;
//     this.setState({
//       page: 0,
//       searchParams: {
//         setOfBooksId: result.setOfBooksId,
//         contractTypeCode: result.contractTypeCode,
//         contractTypeName: result.contractTypeName
//       },
//       slideParams: { setOfBooksId: result.setOfBooksId }
//     },() => {
//       this.getList()
//     })
//   };
//
//   onClear = () => {
//
//   };
//
//   showSlide = (flag) => {
//     this.setState({ showSlideFrame: flag })
//   };
//
//   //新建合同类型
//   handleNew = () => {
//     let slideParams = this.state.slideParams;
//     if(!slideParams.setOfBooksId) {
//       message.warning('新建前，请先选择账套');
//       return
//     }
//     this.setState({
//       slideParams: { setOfBooksId: slideParams.setOfBooksId }
//     },() => {
//       this.showSlide(true)
//     })
//   };
//
//   //编辑合同类型
//   handleEdit = (record) => {
//     let slideParams = this.state.slideParams;
//     slideParams.record = record;
//     this.setState({ slideParams },() => {
//       this.showSlide(true)
//     })
//   };
//
//   //关闭侧滑后的回调
//   handleCloseSlide = (params) => {
//     this.setState({
//       showSlideFrame: false
//     },() => {
//       params && this.getList()
//     })
//   };
//
//   //分配公司
//   handleDistribute = (record) => {
//     this.context.router.push(this.state.companyDistribution.url.replace(':setOfBooksId', record.setOfBooksId).replace(':id', record.id))
//   };
//
//   eventHandle = (event, value) => {
//     let searchParams = this.state.searchParams;
//     searchParams[event] = value;
//     this.setState({
//       searchParams,
//       slideParams: { setOfBooksId: value }
//     },() => {
//       this.getList()
//     })
//   };
//
//   render() {
//     const { loading, searchForm, columns, data, pagination, showSlideFrame, slideParams } = this.state;
//     slideParams.editFlag = false;
//     return (
//       <div className="contract-type-define">
//         <SearchArea searchForm={searchForm}
//                     submitHandle={this.onSearch}
//                     clearHandle={this.onClear}
//                     eventHandle={this.eventHandle}/>
//         <div className="table-header">
//           <div className="table-header-title">{`共搜索到 ${pagination.total} 条数据`}</div>
//           <div className="table-header-buttons">
//             <Button type="primary" onClick={this.handleNew}>新 建</Button>
//           </div>
//         </div>
//         <Table rowKey={record => record.id}
//                columns={columns}
//                dataSource={data}
//                loading={loading}
//                pagination={pagination}
//                scroll={{x: true}}
//                bordered
//                size="middle"/>
//         <SlideFrame title={slideParams.record ? '编辑合同类型' : '新建合同类型'}
//                     show={showSlideFrame}
//                     content={NewContractType}
//                     afterClose={this.handleCloseSlide}
//                     onClose={() => this.showSlide(false)}
//                     params={slideParams}/>
//       </div>
//     )
//   }
// }
//
// ContractTypeDefine.contextTypes = {
//   router: React.PropTypes.object
// };
//
// function mapStateToProps(state) {
//   return {
//     main: state.main,
//     company: state.login.company,
//   }
// }
//
// export default connect(mapStateToProps)(ContractTypeDefine);
